package com.woniuxy.yoga.admin.service;

import com.woniuxy.yoga.admin.dao.model.Resource;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.admin.model.param.resource.AddResourceParam;
import com.woniuxy.yoga.admin.model.param.resource.CancelResourceRelationParam;
import com.woniuxy.yoga.admin.model.param.resource.ReResourceRelationParam;
import com.woniuxy.yoga.admin.model.param.resource.SelectResourcePageParam;
import com.woniuxy.yoga.commons.core.model.PageInfo;

import java.util.List;

/**
 * <p>
 * 资源表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface ResourceService extends IService<Resource> {
    /**
     * 通过资源ID集合查询资源集合
     * @param resourceIds
     * @return
     */
    List<Resource> selectResourceByIds(List<Integer> resourceIds);
    /**
     * 新增管理员资源权限
     * @param param
     * @return
     */
    void addResource(AddResourceParam param);
    /**
     * 传入角色ID 分页查询该角色的资源
     * @param param
     * @return
     */
    PageInfo selectResourceByRole(SelectResourcePageParam param);
    /**
     * 传入角色ID 资源ID 取消该角色该资源权限
     * @param param
     * @return
     */
    void cancelResourceRelation(CancelResourceRelationParam param);
    /**
     * 传入角色Id 资源ID 使得该角色拥有该资源权限
     * @param param
     * @return
     */
    void ReResourceRelation(ReResourceRelationParam param);
}
